const path = require('path')

//属性- 平台路径的分隔符
const sep =path.sep;
console.log('sep: ', sep);
//属性- 分隔符获取
const delimiter = path.delimiter;
console.log('delimiter: ', delimiter);
//属性- 提供上述 path 的方法，不过总是以 win32 兼容的方式交互。
const win32 = path.win32;
// console.log('win32: ', win32);


// resolve参数解析为绝对路径
const r1 = path.resolve(__dirname,'../');
console.log('r1: ', r1);
// join参数拼接为一个路径
const j1 = path.join(r1,'http/app.js')
console.log('j1: ', j1);
// path.relative(from, to)用于将绝对路径转为相对路径，返回从 from 到 to 的相对路径（基于当前工作目录）
const r2 = path.relative(j1,'http/app.js')
console.log('rl: ', r2);
// isAbsolute判断是否是绝对路径
const isAbs1 = path.isAbsolute(r2)
console.log('isAbs1: ', isAbs1);
const isAbs2 = path.isAbsolute(j1)
console.log('isAbs2: ', isAbs2);
// path.dirname(p):返回路径中代表文件夹的部分，同 Unix 的dirname 命令类似。
const dir = path.dirname(j1)
console.log('dir: ', dir);
// path.basename：返回路径中的最后一部分。同 Unix 命令 bashname 类似。
const basename = path.basename(j1)
console.log('basename: ', basename);
// path.extname(p): 返回路径中文件的后缀名，即路径中最后一个'.'之后(包含'.')的部分。如果一个路径中并不包含'.'或该路径只包含一个'.' 且这个'.'为路径的第一个字符，则此命令返回空字符串。
const extname = path.extname(j1);
console.log('extname: ', extname);
// path.parse(pathString):返回路径字符串的对象,与path.format相反。
const pathObj = path.parse('D:\\demo\\demo\\nodejs\\http\\app.js')
console.log('pathObj: ', pathObj);
// path.format(pathObject):从对象中返回路径字符串，和 path.parse 相反。
const pathStr = path.format(pathObj)
console.log('pathStr: ', pathStr);
